package org.bit.practice01;

import java.util.Scanner;

/**
 * 创建两个线程
 * 1. 第一个线程不停的循环去执行自己的任务
 * 2. 第二个线程，输入一个停止标识使线程 1 退出
 */
public class Demo07_volatile {
    // 停止标识
    volatile static int flag = 0;

    public static void main(String[] args) {
        // 创建执行任务的线程
        Thread t1 = new Thread(() -> {
            System.out.println(Thread.currentThread().getName() + "线程启动");
            while (flag == 0) {
                // 循环处理的任务
            }
            System.out.println(Thread.currentThread().getName() + "线程退出");
        }, "t1");

        // 启动线程 t1
        t1.start();

        // 创建线程 t2
        Thread t2 = new Thread(() -> {
            System.out.println(Thread.currentThread().getName() + "线程启动");
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入一个非 0 的整数");
            flag = scanner.nextInt();
            System.out.println(Thread.currentThread().getName() + "线程退出");
        }, "t2");

        // 启动线程 t2
        t2.start();
    }
}
